package com.lh.tams.service.common;

import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Service;

import com.lh.tams.controller.qo.PersonQo;
import com.lh.tams.dao.DeptDao;
import com.lh.tams.dao.system.LawMaxDao;
import com.lh.tams.dao.system.PersonDao;
import com.lh.tams.dao.system.RoleDao;
import com.lh.tams.domain.TamsDept;
import com.lh.tams.domain.TamsMaxLaw;
import com.lh.tams.domain.TamsPerson;
import com.lh.tams.domain.TamsRole;
import com.lh.tams.util.DataGridModel;
import com.lh.tams.util.Page;

/**
 * CommonService
 * 
 * @author liulin
 * @version 2012-05-19
 */
@Service
public class CommonService {
	private final static Log logger=LogFactory.getLog(CommonService.class);

	private DeptDao deptDao;
	private PersonDao personDao;
	private RoleDao roleDao;
	private LawMaxDao lawMaxDao;

	public DeptDao getDeptDao() {
		return deptDao;
	}

	public void setDeptDao(DeptDao deptDao) {
		this.deptDao = deptDao;
	}

	public PersonDao getPersonDao() {
		return personDao;
	}

	public void setPersonDao(PersonDao personDao) {
		this.personDao = personDao;
	}

		public RoleDao getRoleDao() {
		return roleDao;
	}

	public void setRoleDao(RoleDao roleDao) {
		this.roleDao = roleDao;
	}
	
	public LawMaxDao getLawMaxDao() {
		return lawMaxDao;
	}

	public void setLawMaxDao(LawMaxDao lawMaxDao) {
		this.lawMaxDao = lawMaxDao;
	}

	/**
	 * 查询所有部门
	 * @param dgm
	 * @param tamsDept
	 * @return
	 */
	public List<TamsDept> queryAllDept(String flag){
		DataGridModel dgm=new DataGridModel();
		dgm.setRows(100);
		dgm.setPage(1);
		Page page = deptDao.query(dgm,flag);
		return page.getRows();
	}
	
	
	/**
	 * 查询所有角色
	 * @param dgm
	 * @param tamsDept
	 * @return
	 */
	public List<TamsRole> queryAllRole(){
		DataGridModel dgm=new DataGridModel();
		dgm.setRows(100);
		dgm.setPage(1);
		Page page = roleDao.query(dgm);
		return page.getRows();
	}
	
	/**
	 * 根据deptId查询该部门下的警员
	 * @param deptId
	 * @return
	 */
	public List<TamsPerson> queryDeptPerson(long deptId){
		DataGridModel dgm=new DataGridModel();
		dgm.setRows(100);
		dgm.setPage(1);
		Page page = personDao.query(dgm,deptId);
		return page.getRows();
	}
	
	/**
	 * 根据role查询该部门下的警员
	 * @param role
	 * @return
	 */
	public List<TamsPerson> queryPersonByRole(int role){
		DataGridModel dgm=new DataGridModel();
		dgm.setRows(100);
		dgm.setPage(1);
		Page page = personDao.queryPersonByRole(dgm,role);
		return page.getRows();
	}
	
	public List<TamsPerson> queryAllPerson(){
		DataGridModel dgm=new DataGridModel();
		dgm.setRows(1000);
		dgm.setPage(1);
		return personDao.query(dgm, new PersonQo()).getRows();
	}
	
	public List<TamsMaxLaw> queryAllMax(){
		DataGridModel dgm=new DataGridModel();
		dgm.setRows(1000);
		dgm.setPage(1);
		return lawMaxDao.query(dgm, new TamsMaxLaw()).getRows();
	}
}
